<?php

/**
 * Permite consultar los ingresos que ha tenido la recaudación del SIMERT
 * @package simertweb 
 * @subpackage models 
 * @category Recaudación
 * @author Grecia Espinoza <mrcl2587@gmail.com>
 * @author Juan Maldonado  <jgmaldonadoj@gmail.com>
 * @version 1.0  
 */
class Mingresos extends CI_Model {

    public function __construct() {
        parent::__construct();
        $this->load->database();
    }

    /**
     * Obtiene los ingresos que se han realizado en el dia actual
     * @return type
     */
    function calcularIngresos() {
        $tventas = 0; //almacena el total de ventas
        $tmultas = 0; //almacena el total de multas
        $tespacios = 0; //almacena el total de espacios
        date_default_timezone_set('America/Guayaquil');
        $fecha = date('Y-m-d');
        //calcula el total de ventas realizadas diariamente
        $this->db->where('fechaPago', $fecha);
        $ventas = $this->db->get('venta')->result();
        foreach ($ventas as $value) {
            $tventas += $value->total;
        }
        //calcula el total de espacios reservados cobrados diariamente
        $reservados = $this->db->get('espacioreservado')->result();

        foreach ($reservados as $value) {
            $precio = $value->precio;
            $c = 0;
            $this->db->where('idReservado', $value->idReservado);
            $this->db->where('anno', date('Y'));
            $pagados = $this->db->get('pagos')->result();
            
            foreach ($pagados as $value1) {
                if ($value1->enero == $fecha) {
                    $c++;
                }
                if ($value1->febrero == $fecha) {
                    $c++;
                }
                if ($value1->marzo == $fecha) {
                    $c++;
                }
                if ($value1->abril == $fecha) {
                    $c++;
                }
                if ($value1->mayo == $fecha) {
                    $c++;
                }
                if ($value1->junio == $fecha) {
                    $c++;
                }
                if ($value1->julio == $fecha) {
                    $c++;
                }
                if ($value1->agosto == $fecha) {
                    $c++;
                }
                if ($value1->septiembre == $fecha) {
                    $c++;
                }
                if ($value1->octubre == $fecha) {
                    $c++;
                }
                if ($value1->noviembre == $fecha) {
                    $c++;
                }
                if ($value1->diciembre == $fecha) {
                    $c++;
                }
            }
            $tespacios += $c * $precio;
        }

        //calcula el total de multas cobradas en un intervalo de fechas
        $this->db->where('fechaPago', $fecha);
        $this->db->where('pagado', 1);
        $this->db->where('anulado', 0);
        $multas = $this->db->get('multa')->result();
        foreach ($multas as $value2) {
            $tmultas += $value2->monto;
        }
        $array = array(
            'fecha' => $fecha,
            'ventas' => $tventas,
            'espacios' => $tespacios,
            'multas' => $tmultas
        );

        return $array;
    }

    
    function calcularFecha($fecha, $fecha2) {
        $tventas = 0; //almacena el total de ventas
        $tmultas = 0; //almacena el total de multas
        $tespacios = 0; //almacena el total de espacios

        //calcula el total de ventas realizadas diariamente
        $this->db->where('fechaPago >=', $fecha);
        $this->db->where('fechaPago <=', $fecha2);
        $ventas = $this->db->get('venta')->result();
        foreach ($ventas as $value) {
            $tventas += $value->total;
        }
        
        //calcula el total de espacios reservados cobrados diariamente
        $reservados = $this->db->get('espacioreservado')->result();
        foreach ($reservados as $value) {
            $precio = $value->precio;
            $c = 0;
            $this->db->where('idReservado', $value->idReservado);
            $pagados = $this->db->get('pagos')->result();
            foreach ($pagados as $value1) {
                if ($value1->enero >= $fecha && $value1->enero <=$fecha2) {
                    $c++;
//                    print_r('--- en, precio='.$precio);
                }
                if ($value1->febrero >= $fecha && $value1->febrero <=$fecha2) {
                    $c++;
                }
                if ($value1->marzo >= $fecha && $value1->marzo <=$fecha2) {
                    $c++;
                }
                if ($value1->abril >= $fecha && $value1->abril <=$fecha2) {
                    $c++;
                }
                if ($value1->mayo >= $fecha && $value1->mayo <=$fecha2) {
                    $c++;
                }
                if ($value1->junio >= $fecha && $value1->junio <=$fecha2) {
                    $c++;
                }
                if ($value1->julio >= $fecha && $value1->julio <=$fecha2) {
                    $c++;                    
                }
                if ($value1->agosto >= $fecha && $value1->agosto <=$fecha2) {
                    $c++;
                }
                if ($value1->septiembre >= $fecha && $value1->septiembre <=$fecha2) {
                    $c++;
                }
                if ($value1->octubre >= $fecha && $value1->octubre <=$fecha2) {
                    $c++;
                }
                if ($value1->noviembre >= $fecha && $value1->noviembre <=$fecha2) {
                    $c++;
                }
                if ($value1->diciembre >= $fecha && $value1->diciembre <=$fecha2) {
                    $c++;
                }
            } 
            $tespacios += $c * $precio;
        }

        //calcula el total de multas cobradas diariamente
        $this->db->where('fechaPago >=', $fecha);
        $this->db->where('fechaPago <=', $fecha2);
        $this->db->where('pagado', 1);
        $this->db->where('anulado', 0);
        $multas = $this->db->get('multa')->result();
        foreach ($multas as $value2) {
            $tmultas += $value2->monto;
        }
        if($fecha == $fecha2){
            $date = $fecha;
        }elseif($fecha < $fecha2){
            $date = $fecha.'  a  '.$fecha2;
        }else{
            $date = 'Intervalo incorrecto';
        }
            
        $array = array(
            'fecha' => $date,
            'ventas' => $tventas,
            'espacios' => $tespacios,
            'multas' => $tmultas
        );
        return $array;
    }
    
}

?>